GtkListBox: Add a function for getting the index of a row
authorKalev Lember <kalevlember@gmail.com>
Thu, 4 Jul 2013 11:40:21 +0000 (13:40 +0200)
committerKalev Lember <kalevlember@gmail.com>
Thu, 4 Jul 2013 13:19:47 +0000 (15:19 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=703618

gtk/gtklistbox.c
gtk/gtklistbox.h

index fe6307f30c7e32bf96e1c98eeb34db025bfffdcc..d191a459d90596afb9121c32fe54c1776b269e4a 100644 (file)
@@ -2673,6 +2673,27 @@ gtk_list_box_row_set_header (GtkListBoxRow *row,
     g_object_ref (header);
 }
 
+/**
+ * gtk_list_box_row_get_index:
+ * @row: a #GtkListBoxRow
+ *
+ * Gets the current index of the @row in its #GtkListBox container.
+ *
+ * Returns: the index of the @row, or -1 if the @row is not in a listbox
+ *
+ * Since: 3.10
+ */
+gint
+gtk_list_box_row_get_index (GtkListBoxRow *row)
+{
+  GtkListBoxRowPrivate *priv = gtk_list_box_row_get_instance_private (row);
+
+  if (priv->iter != NULL)
+    return g_sequence_iter_get_position (priv->iter);
+
+  return -1;
+}
+
 static void
 gtk_list_box_row_finalize (GObject *obj)
 {
index 54100722924f8c27f5878351c583ffcf5c137b48..161bdb1e8ea2e9e1f01d459e75b07818f3c6fef8 100644 (file)
@@ -153,6 +153,8 @@ GDK_AVAILABLE_IN_3_10
 void       gtk_list_box_row_set_header    (GtkListBoxRow *row,
                                            GtkWidget     *header);
 GDK_AVAILABLE_IN_3_10
+gint       gtk_list_box_row_get_index     (GtkListBoxRow *row);
+GDK_AVAILABLE_IN_3_10
 void       gtk_list_box_row_changed       (GtkListBoxRow *row);